package api

import (
	"gitee.com/gopher2011/gin"
	"gitee.com/gopher2011/litemall/app/dao"
	"net/http"
)

// adminApi 管理对象。
var Admin = &adminApi{}

// 管理员表
type adminApi struct{}

// 创建一条记录 方法: Post 参数: dao.Admin 路由: /create
func (it *adminApi) Create(r *gin.Context) {
	// 将请求参数解析到 ptr上
	var ptr dao.Admin
	err := r.Parse(&ptr)
	if err != nil {
		r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
		r.Abort()
	}
	// .... 业务逻辑
	r.JSON(http.StatusOK, gin.H{})
}

// 更新一条记录 方法: Post 参数: id,dao.Admin 路由: /update/:id
func (it *adminApi) Update(r *gin.Context) {
	//str := r.Param("id")
	//id,_ := strconv.Atoi(str)
	// 将请求参数解析到 ptr上
	var ptr dao.Admin
	err := r.Parse(&ptr)
	if err != nil {
		r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
		r.Abort()
	}
	// .... 业务逻辑
	r.JSON(http.StatusOK, gin.H{})
}

// 删除一条记录 方法: Get 参数: id 路由: /delete/:id
func (it *adminApi) Delete(r *gin.Context) {
	//str := r.Param("id")
	//id,_ := strconv.Atoi(str)
	// 将请求参数解析到 ptr上
	var ptr interface{}
	err := r.Parse(&ptr)
	if err != nil {
		r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
		r.Abort()
	}
	// .... 业务逻辑
	r.JSON(http.StatusOK, gin.H{})
}

// 查询一条记录 方法: Get 参数: id 路由: /:id
func (it *adminApi) Select(r *gin.Context) {
	//str := r.Param("id")
	//id,_ := strconv.Atoi(str)
	// 将请求参数解析到 ptr上
	var ptr interface{}
	err := r.Parse(&ptr)
	if err != nil {
		r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
		r.Abort()
	}
	// .... 业务逻辑
	r.JSON(http.StatusOK, gin.H{})
}

// 分页查询，返回一个切片 方法: Get 参数: keyword,page_num,page_size 路由: /list
func (it *adminApi) List(r *gin.Context) {
	// 将请求参数解析到 ptr上
	var ptr interface{}
	err := r.Parse(&ptr)
	if err != nil {
		r.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
		r.Abort()
	}
	// .... 业务逻辑
	r.JSON(http.StatusOK, gin.H{})
}
